AppWorks School Batch #16 Front-End Class 學習筆記&心得(駐點階段五:求職就業+畢業)


Posted by ralphhong5465 on 2022-09-17

歷經不知多少次崩潰與平復的循環,為期 22 週的程式培訓營終於畫下句點。那些在一百多天前還是介於陌生人與網友間的同學們,如今已是彼此在程式學習的道路上,最密不可分的戰友!

取自 AppWorks School 前端班課程大綱

求職準備

歷經為期 5+1 週(5 週開發、1 週測試 & 重構)的個人自主專案階段,終於來到「求職就業」環節,此時接觸程式碼的時間會比過去少一些,開始加強找工作時的「軟實力」展現,但因為目標職缺為技術職,面試幾乎都會有技術關及行為關,兩者都要好好把握。

School 對於求職時每個環節的準備可說是面面俱到,軟實力面有「履歷撰寫」、「模擬行為面試」,硬實力面也有「技術關面試練習」、「現場解題(live coding)」,還舉辦了多場讀書會,讓各班持續切磋各自對應領域的技術概念。

履歷撰寫

首先登場的是「履歷工作坊」,由負責就業輔導與追蹤的 Tiffany 主講。比較特別的是,因為軟體工程領域有很多英文專有名詞,若以中文撰寫履歷,很容易出現中英夾雜、切換語言時語句不順的現象,School 強烈建議我們一律以英文撰寫履歷,若學程結束後要調整,由英轉中也比由中轉英容易一些。

履歷撰寫完成後共有兩道關卡,一是導師+校務,二是 Tiffany,兩者都過關後才可到求職平臺投遞職缺。School 列出了近五十項檢核表,美觀相關的字體、字型、排版,內容相關的句型、文法、用字、長度全都在審核範圍中,每個細節都不放過。而在這些項目中,最令我印象深刻的有兩個:

  1. 字母大小寫:如 JavaScript 是 J 跟 S 要大寫、RESTful 是前四個字母要大寫、iOS 是 O 跟 S 要大寫,以及最重要的:AppWorks School 是 A、W、S 三個字母要大寫。
  2. 「技能(skills)」與「工具(tools)」:兩者的差別有時候不太好抓,基本上「技能」主要是「你會做什麼事情」,如版本控制(version control);「工具」則是「你為了達成特定任務,會用什麼樣的軟硬體」,例如進行版本控制時,常用的 Git 與 GitHub。

若忽略上述小細節,或許不影響人資、技術主管或其他閱讀者的理解,但要看一個人是否細心,透過履歷即一覽無遺,尤其如果有人自稱「detail-oriented」但出現拼字、標點符號或半全形錯誤,就不免讓人懷疑這份履歷的真實性。

週五主題短講:編程面試

履歷撰寫大概為期一週,緊接而來的是大量面試練習。工程師面試與其他職位最不一樣的地方在於會有「編程面試(coding interview)」,因此,最後一次的週五短講(Friday Talk)就是以此為主題。

其實在申請 School 的過程中,面試也有一關是「技術面談」,但當時沒有程式測驗,而是一些基本的邏輯題,但不論是測邏輯或是寫程式,面對這樣的關卡,面試官多半會在意的是「過程」而非「結果」,寧願沒把題目寫完,但邏輯清晰、溝通過程愉快,也不要每題秒解而與面試官毫無互動。

在進行編程面試時,共有幾個要點:

  1. 先確認題目:就像工作時,要先跟產品或專案管理專員確認需求。
  2. 可先提出暴力解:若暫時無想法,可先用不考慮時間與空間複雜度的暴力法解題,再逐步思考減少大 O 值的方法。
  3. 考慮邊角案例(corner case):對於特定極端狀況,自己的解法是否能夠處理?若不行,要如何優化解法?

總結而言,編程面試不是純紙筆測驗,除了測寫程式能力外,也同時在測溝通力,「讓人覺得與這個人一起工作很愉快」遠比「把題目寫對」來得重要。

面試練習

School 提供非常多的面試練習機會,在完成履歷撰寫後的數天,每天早上都還是有晨會(recap),透過錄音+現場出程式題,讓大家檢視自己的觀念掌握度與技術能力。但相對於這些一次多人一同參與、且不會一一針對表現給予回饋的小活動,真正有面試臨場感的,是每次一對一的模擬面試,共有下列三種:

  1. 導師模擬面試:為 School 安排必帶,每個人約有 1.5~2 小時的時間與導師進行一對一面談,包含自我介紹、技術問答、現場解程式題等,軟硬實力都有機會練習,算是最完整的一場面試。
  2. 人資模擬面試:由具有獵頭及人資經驗的 Tiffany 與江江負責,在兩人開出時間帶後,學員可自主預約練習,為時約 1 小時左右,主要針對與技術關聯性較低的軟實力進行加強,包含自我介紹、求職動機、未來規劃等。
  3. 校友模擬面試:在第 20、21 週的週三晚上舉行,這可說是所有模擬面試中的重頭戲,因為來擔任模擬面試官的學長姊們不再是我們熟悉的面孔,會更貼近實際面試的狀況。相對於為時較長的導師及人資模擬面試,我們跟每位校友的面談時間只有半小時,內容依學長姊安排而定,多半也會是軟硬實力皆測。比較特別的是,除了被面談者外,School 還安排了另一位學員擔任「觀察者」,讓大家可以從第三者的角度觀察同學與面試官的互動,除當作自己的參考外,也讓每個人都有機會獲得來自於同學的回饋。在兩個晚上的練習中,每個人擔任被面談 & 觀察者的機會大約各有三~四次,結束後都可以跟所有來幫忙的學長姊聊聊。


校友模擬面試立牌

各班讀書會

「技術問答」是面試中除現場解題外,最具挑戰性的項目之一,School 提供給每個班包含數十道問題的技術題清單,讓大家先顧好基本盤。除此之外,每個班也都舉辦了各自的讀書會,由同學們各自針對一該班領域相關主題進行報告,以前端班而言,報告的主題包含:

  1. webpack + Babel
  2. 伺服器端渲染(server-side rendering, SSR)與 Next.js
  3. High-order components (HOCs), render props, custom hooks
  4. React.memo、useCallback 與 useMemo
  5. Vue.js 簡介

跟第 9~10 週的「分組專題研討(Topic Discussion)」相比,本次報告的主題較為進階,因此每組的報告時間拉長至兩小時,也都有讓同學實作的時間。

資料結構 & 演算法讀書會

在各班讀書會中,以後端+資料工程班的最為特別,主題是所有程式培訓營最被詬病缺乏練習的內容、資工相關系所核心課程「資料結構與演算法」,因為每個領域都可有相關應用,也開放給手機兩班與前端的學員參加。

過往的週五短講曾經針對大 O(big O)、鏈結串列(linked list)、二元搜尋(binary search)進行簡介,讀書會中提的是更進階的內容,包含:

  1. 合併排序(merge sort)
  2. 快速排序(quick sort)
  3. 樹(tree)
  4. 回溯法(backtracking)
  5. 遞迴(recursion)

此時 LeetCode 已經悄悄進入許多後端 & 資料工程班學員的生活中,不管過去對這些內容有多麼陌生,刷題人生已經開始。

後端+資料工程班讀書會

招聘週 Hiring Week

做了那麼多的努力,無非就是為了最後的「找工作」環節做準備。

School 提供了專屬於學員的就業媒合資源,且不是單純洽談合作廠商這麼簡單,從第 15 屆開始,我們開始使用校友開發的內部求職平臺「GritHub(不是 GitHub)」,整體的使用者體驗跟 104、CakeResume、Yourator 等相比可謂有過之而無不及,School 的校友果然厲害。

GritHub 網站首頁

透過 School 求職需要與校方先簽屬《職業介紹服務契約》(偷偷說,看到合約上說登記及介紹費的金額是「新台幣 零 元」時,真的覺得 School 超佛),而基於尊重 School 特別跟我們談合作廠商,在畢業前,我們也會將所有外部求職平臺的履歷關閉。當然,有媒合活動只是「多一些專屬於 School 學員的機會」,並不代表一定錄取,待畢業之後,我們依然可以透過外部求職平臺找工作。

學程的最後一週不是在面試、就是在準備面試,除了與合作廠商有約在 School 現場面試的時段,其餘時間都可以不用到校。雖然同樣都在 GritHub 開缺,絕大多數的廠商都不會到 School 與學員面談,有些與學員進行線上面試、也有些走自己的招聘流程,但不論如何進行,所謂「招聘週」其實只是第 1 關、甚至第 0.5 關,要到畢業後,求職的漫漫長路才算正式開始。

畢業典禮 & 心得

歷經超過 20 週的魔鬼訓練,終於來到期待已久的「畢業典禮」!

自從離開學校後,不太會有「一群人因表定時間到而一起離開一個單位」的機會(連當兵退伍都會因為大家折抵天數不同,而有不同的離營日期),還能體驗到「畢業典禮」這種儀式,是一種很特別的感覺。

畢業典禮會場

還記得開學當天,有個流程是「測量 T 恤尺寸」,而這寫著 Hello World! 的 T 恤,要一直到畢業這天,才能憑識別證換取。領完衣服後,大夥在與開學典禮相同的地點集合,School 一樣準備了簡餐與飲料供大家享用,與開學典禮不同的是,歷經將近 20 個星期的相處,我們不再是素昧平生的陌生人或 Discord 網友,而是一起熬過這魔鬼培訓營的戰友,大家的話匣子不停。


畢業典禮簡餐(照片由 AppWorks School 拍攝)

畢業典禮的流程包含導師致詞、畢業生代表致詞、校長致詞、影片回顧等,與開學時面對未知的忐忑相比,這次多了更多歡笑與熱絡的互動。慶幸我們的畢典沒有因為在夏天舉行而受颱風攪局、慶幸在疫情當中沒有任何人因為確診或隔離而缺席,從導師手中接下畢業證書,再與同學及導師、校務們一起拍多張大合照的那一刻,頓時百感交集,在 School 的日子很苦,但我們一起撐過來了!

謝謝一起陪伴著彼此前行的夥伴、謝謝沒有因為屢次的挫折而打退堂鼓的自己,更要謝謝多次讓我們瀕臨崩潰、卻又總是在懸崖前拉我們一把的導師與校務們,若說芬蘭的極地導遊經驗是我在出社會後,最念念不忘的回憶,那在 School 這四個多月的時光,絕對是我在回國後,最刻骨銘心、也是最推薦的一段歷程!

第 16 屆畢業大合照(取自 AppWorks School 臉書貼文


#AppWorks School









Related Posts

Auto Generate Insert Script without SQL Manager

Auto Generate Insert Script without SQL Manager

如何使用 Python 設計一個簡單的計算機 入門教學

如何使用 Python 設計一個簡單的計算機 入門教學

HTB Active Walkthrough

HTB Active Walkthrough


Comments